find path in directed graph